Aller au contenu

GNU coding standards

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Standards Gnits)

Les GNU Coding Standards sont des ensembles de règles et de lignes directrices pour l'écriture de programmes qui fonctionnent toujours dans un système GNU.

Formatage du code[modifier | modifier le code]

Les GNU Coding Standards spécifient exactement comment mieux construire le langage C. Ici un exemple caractéristique :

int
main (int argc, char *argv[])
{
  struct gizmo foo;

  fetch_gizmo (&foo, argv[1]);

 check:
  if (foo.type == MOOMIN)
    puts ("It's a moomin.");
  else if (foo.bar < GIZMO_SNUFKIN_THRESHOLD / 2
           || (strcmp (foo.class_name, "snufkin") == 0)
               && foo.bar < GIZMO_SNUFKIN_THRESHOLD)
    puts ("It's a snufkin.");
  else
    {
      char *barney;  /* Pointer to the first character after
                        the last slash in the file name.  */
      int wilma;     /* Approximate size of the universe.  */
      int fred;      /* Max value of the `bar' field.  */

      do
        {
          frobnicate (&foo, GIZMO_SNUFKIN_THRESHOLD,
                      &barney, &wilma, &fred);
          twiddle (&foo, barney, wilma + fred);
        }
      while (foo.bar >= GIZMO_SNUFKIN_THRESHOLD);

      store_size (wilma);

      goto check;
    }

  return 0;
}

Critiques[modifier | modifier le code]

Linus Torvalds, l'initiateur de Linux, écrit en introduction du Linux kernel coding style qui présente le style d'écriture attendu pour le code du noyau Linux : « D'abord, je conseillerais d'imprimer une copie des GNU coding standards, et de ne PAS les lire. Brûlez-les, c'est un beau geste symbolique. »[1]

Standards Gnits[modifier | modifier le code]

Les standards Gnits, également appelés Gnits, désignent une collection de « bonnes pratiques » et leur description, écrites et maintenues jusqu'en par un petit groupe de mainteneurs du projet GNU pour la construction du système GNU. Ces recommandations n'étaient pas officiellement reconnues comme des standards du projet, mais représentaient plutôt des avis pouvant servir d'introduction aux normes de codage GNU.

Plus généralement, ces recommandations ont cependant été adoptées par la communauté des programmeurs de logiciels libres dans les domaines de la programmation, la maintenance et la distribution logicielles. D'après la documentation des « Gnits », aujourd'hui disponible à des fins historiques, la plupart de ces « bonnes pratiques » a été intégrée dans la documentation des Autotools.

Étymologie[modifier | modifier le code]

Les mainteneurs à l'origine de ces recommandations s'appelaient eux-mêmes le « gang nit-picker GNU » (de l'anglais « GNU nit-picker gang »). Le mot anglais « nit » est un synonyme du mot « pou » (en anglais « louse »), singulier du mot « poux » (en anglais « lice »). Le terme « nit picker » peut se définir par quelqu'un si pointilleux sur les erreurs d'autrui qu'il pourrait s'assoir durant des heures pour « cueillir ou piquer  » (du verbe anglais « pick ») ses poux. Cette expression pourrait se traduire en français par celui qui « cherche des poux sur les autres ».

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) Linus Torvalds, « Linux kernel coding standards » (consulté le )

Source de la traduction[modifier | modifier le code]

Liens externes[modifier | modifier le code]